package com.enjoy.webservice;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;

@WebService
public class JwsServiceCase {

    /**
     * 供客户端调用方法，该方法是非静态的，会被发布
     *
     * @param name
     * @return
     */
    public String getValue(String name) {
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("name", name);
        jsonObject.put("age", 13);
        return JSON.toJSONString(jsonObject);
    }

    /**
     * 方法上加@WebMethod(exclude = true)后，此方法不被发布
     *
     * @param name
     * @return
     */
    @WebMethod(exclude = true)
    public String getHello(String name) {
        return "你好！" + name;
    }

    /**
     * 静态方法不会发布
     *
     * @param name
     * @return
     */
    public static String getString(String name) {
        return "再见！" + name;
    }

    // 通过EndPoint(断点服务)发布一个WebService
    public static void main(String[] args) {
        /**
         * 本地服务的地址
         * 提供服务的类
         */
        Endpoint.publish("http://10.0.38.38:8080/serverCase", new JwsServiceCase());
        System.out.println("发布成功");
        // 在浏览器输入http://127.0.0.1:8080/serverCase?wsdl
    }
}
